<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<title>VIM 中文帮助: MS-DOS 和 MS-Windows 通用的条目</title>
<link rel="stylesheet" href="vim-stylesheet.css" type="text/css" />
<link rel="canonical" href="https://yianwillis.github.io/vimcdoc/doc/os_dos.html" />
<script type="text/javascript" src="vimcdoc.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<nav id=banner>
<form action=tags.html target="tag_iframe">
  <input type="text" name="tag" id="tag" placeholder="标签搜索">
</form>
<iframe name="tag_iframe" src=""></iframe>
<a href="help.html">帮助总览</a> &middot;
<hr/>
<a href="quickref.html">快速参考</a> &middot;
<a href="index.html">命令索引</a> &middot;
<a href="eval.html#functions">函数列表</a> &middot;
<a href="quickref.html#option-list">选项列表</a> &middot;
<hr/>
<a href="usr_toc.html">用户手册</a> &middot;
<a href="help.html#reference_toc">参考手册</a> &middot;
</nav>

<header>
<h2>os_dos</h2>
</header>
<article id=outer>
<section class=inner>
<b class="vimtag"> <a name="os_dos.txt">os_dos.txt</a> </b>    适用于 Vim 9.0 版本。   最近更新: 2022年7月


                  <code class="vim">VIM 参考手册    by Bram Moolenaar</code>
                                <code class="vim">译者</code>: Dasn

                                                        <b class="vimtag"> <a name="dos">dos</a> </b> <b class="vimtag"> <a name="DOS">DOS</a> </b>
本文描述 MS-DOS 和 Win32 版本共有的特性。你还可以参考
 <a href="os_win32.html#os_win32.txt">os_win32.txt</a>  和  <a href="os_msdos.html#os_msdos.txt">os_msdos.txt</a> 。

1. 文件位置                      <a href="os_dos.html#dos-locations">dos-locations</a> 
2. 使用反斜杠                    <a href="os_dos.html#dos-backslash">dos-backslash</a> 
3. 标准映射                      <a href="os_dos.html#dos-standard-mappings">dos-standard-mappings</a> 
4. 屏幕的输出与颜色              <a href="os_dos.html#dos-colors">dos-colors</a> 
5. 文件格式                      <a href="os_dos.html#dos-file-formats">dos-file-formats</a> 
6. :cd 命令                      <a href="os_dos.html#dos-:cd">dos-:cd</a> 
7. 中止键                        <a href="os_dos.html#dos-CTRL-Break">dos-CTRL-Break</a> 
8. 临时文件                      <a href="os_dos.html#dos-temp-files">dos-temp-files</a> 
9. 默认的外壳选项                <a href="os_dos.html#dos-shell">dos-shell</a> 
10. PowerShell                   <a href="os_dos.html#dos-powershell">dos-powershell</a> 

</section><hr class="doubleline" /><section class=inner>
<h4>1. 文件位置                                             <b class="vimtag"> <a name="dos-locations">dos-locations</a> </b></h4>
只要你把 Vim 的可执行文件 (vim.exe)、帮助文件的目录 (doc) 以及语法文件的目录
(syntax) 放到同一个目录下，Vim 就可以工作了，不需要额外的配置，也不需要修改注
册表或添加环境变量，只要保证 Vim 目录包含在路径中，或者在桌面上做一个快捷方式
也可以。

通常 Vim 资源文件 ("_vimrc" 和 "_gvimrc") 放在 Vim 运行目录的上一级目录。如果
你想把它放在别的地方，可以设置环境变量指向资源文件所在的目录，例如: 
<code class="example">        set VIM=C:\user\piet</code>
Vim 会在 "c:\user\piet\" 下寻找资源文件。
<code class="note">备注</code>: 多用户计算机需要这种功能，否则还是把 _vimrc 放在原来的地方简单些。

如果你改变了 vim.exe 的位置，就需要设置一下 $VIM 变量，这样相应的运行目录
(runtime directory) 就是 "$VIM/vim<code class="special">{version}</code>"。例如: 
<code class="example">        set VIM=E:\vim</code>
Vim 会在 "e:\vim\vim82" 寻找 8.2 版本运行时需要的文件。
<code class="note">备注</code>: 强烈建议不要这样做。最好把可执行文件和运行时需要的文件放到同一个目录里。

如果你把可执行文件和资源文件都移动了，那么你必须用 $VIM 和 $VIMRUNTIME 两个环
境变量来分别指定资源文件 ("_vimrc" 和 "_gvimrc") 和运行目录的位置。例如: 
<code class="example">        set VIM=C:\usr\piet</code>
<code class="example">        set VIMRUNTIME=E:\vim\vim82</code>
这样，Vim 可以在 "c:\user\piet\" 目录下找到资源文件，在 "e:\vim\vim82" 目录下
找到运行时所需的文件。

要想了解更多内容，见  <a href="starting.html#$VIM">$VIM</a>  和  <a href="starting.html#$VIMRUNTIME">$VIMRUNTIME</a> 。

通过系统属性对话框，可以分别为每个用户设置环境变量。步骤如下:
1. 键入 Windows 键 + R 来打开 "运行" 对话框。
2. 输入 "sysdm.cpl" 并按 "确定" 按钮。此时会显示 "系统属性" 对话框。
3. 选择 "高级" 标签页，按 "环境变量..." 按钮。此时会打开 "环境变量" 对话框。
4. 在 "用户变量" 列表中选择一个已有的变量并按 "编辑..." 按钮来编辑。或按
   "新建..." 按钮来加入新变量。
5. 编辑完变量后，按 "确定" 按钮来保存改动。

</section><hr class="doubleline" /><section class=inner>
<h4>2. 使用反斜杠                                           <b class="vimtag"> <a name="dos-backslash">dos-backslash</a> </b></h4>
在文件名 (这里是指带路径的文件名 <code class="vim">译者</code>) 里使用反斜杠 (\) 可能会出问题。在某些命
令里，VI 要用两个反斜杠表示反斜杠。Vim 在这一问题上宽容一些，它不会从文件名中
删除反斜杠，所以直接用 ":e c:\foo\bar" 就可以工作。但是当反斜杠出现在一些特殊
字符 (空格、逗号、反斜杠，等等) 前面时，Vim 就会删除反斜杠。用斜杠来避免问题:
":e c:/foo/bar"，同样可以。Vim 会自动把斜杠替换成反斜杠以避免一些 MS-DOS 或
Win32 程序产生问题。

如果你喜欢用斜杠，就设置 <a href="options.html#'shellslash'">'shellslash'</a> 选项。Vim 就会在自动补全文件名的时候，用
斜杠代替反斜杠。这在你使用 UNIX 风格的 <a href="options.html#'shell'">'shell'</a> 时，特别有用。

</section><hr class="doubleline" /><section class=inner>
<h4>3. 标准映射                                     <b class="vimtag"> <a name="dos-standard-mappings">dos-standard-mappings</a> </b></h4>
<code class="keystroke">CTRL-PageUp</code> 和 <code class="keystroke">CTRL-PageDown</code> 的原有映射已经被取消了，现在它们的功能是跳转到下
一个或者前一个标签页  <a href="tabpage.html#%3CC-PageUp%3E">&lt;C-PageUp&gt;</a>   <a href="tabpage.html#%3CC-PageDown%3E">&lt;C-PageDown&gt;</a> 

如果你想要让它们移动到屏幕行的首行和末行，这样映射:

<code class="section">键              键码            正常/可视模式       插入模式 </code>
<code class="keystroke">CTRL-PageUp</code>     <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-C-D&gt;</code>        H               <code class="special">&lt;C-O&gt;</code>H
<code class="keystroke">CTRL-PageDown</code>   <code class="special">&lt;M-N&gt;</code>v              L$              <code class="special">&lt;C-O&gt;</code>L<code class="special">&lt;C-O&gt;</code>$

此外，下面这些键用于复制/剪切/粘贴。Win32 版本和 DJGPP 版本使用剪贴板。

Shift-Insert    粘贴文本 (从剪贴板)                             <b class="vimtag"> <a name="%3CS-Insert%3E">&lt;S-Insert&gt;</a> </b>
<code class="keystroke">CTRL-Insert</code>     复制选择的文本 (到剪贴板)                       <b class="vimtag"> <a name="%3CC-Insert%3E">&lt;C-Insert&gt;</a> </b>
<code class="keystroke">CTRL-Del</code>        剪切选择的文本 (到剪贴板)                       <b class="vimtag"> <a name="%3CC-Del%3E">&lt;C-Del&gt;</a> </b>
Shift-Del       剪切选择的文本 (到剪贴板)                       <b class="vimtag"> <a name="%3CS-Del%3E">&lt;S-Del&gt;</a> </b>
<code class="keystroke">CTRL-X</code>          剪切可视文本 (到剪贴板)

这些键是这样映射的 (Win32 和 DJGPP 版本):

<code class="section">键              键码         正常       可视        插入 </code>
Shift-Insert    <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-T&gt;</code>   "*P        "-d"*P      <code class="special">&lt;C-R&gt;</code><code class="special">&lt;C-O&gt;</code>*
<code class="keystroke">CTRL-Insert</code>     <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-U&gt;</code>              "*y
Shift-Del       <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-W&gt;</code>              "*d
<code class="keystroke">CTRL-Del</code>        <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-X&gt;</code>              "*d

或这样映射 (非 Win32 版本):

<code class="section">键              键码         正常       可视        插入 </code>
Shift-Insert    <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-T&gt;</code>   P          "-dP        <code class="special">&lt;C-R&gt;</code><code class="special">&lt;C-O&gt;</code>"
<code class="keystroke">CTRL-Insert</code>     <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-U&gt;</code>              y
Shift-Del       <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-W&gt;</code>              d
<code class="keystroke">CTRL-Del</code>        <code class="special">&lt;M-N&gt;</code><code class="special">&lt;M-X&gt;</code>              d
<code class="keystroke">CTRL-X</code>          <code class="special">&lt;C-X&gt;</code>                   "*d

如果系统支持剪贴板，Vim 就会使用 "* 寄存器。

</section><hr class="doubleline" /><section class=inner>
<h4>4. 屏幕的输出与颜色                                     <b class="vimtag"> <a name="dos-colors">dos-colors</a> </b></h4>
默认的写屏操作是直接调用 bios 完成的，这在大多数系统上可以工作。你不需要用
ansi.sys。你可以使用 ":mode" 命令设置当前屏幕模式。见  <a href="term.html#:mode">:mode</a> 。

要想改变 Vim 的颜色，可以使用  <a href="syntax.html#:highlight">:highlight</a>  命令。Normal 高亮组 (highlight
group) 决定了 Vim 用什么颜色显示普通的文本。例如，要设置灰色字体和蓝色背景: 
<code class="example">        :hi Normal ctermbg=Blue ctermfg=grey</code>
要了解其它可用的高亮组，参见  <a href="syntax.html#highlight-groups">highlight-groups</a> 。

DOS 控制台不支持 "粗体"、"下划线" 之类的属性。你可以用九个终端选项来设置五种属
性值的颜色。<code class="note">备注</code>: 因为你可以用 ":highlight" 命令直接设置颜色，这些选项并没有必
要。它们是为了兼容老版本的 Vim 而保留的。 <a href="options.html#'highlight'">'highlight'</a>  选项指定每种行为使用五
种模式中的哪一种。九个终端选项如下:

<code class="example">        :set t_mr=^V^[\|xxm             反转模式开始</code>
<code class="example">        :set t_md=^V^[\|xxm             粗体模式开始</code>
<code class="example">        :set t_me=^V^[\|xxm             返回正常文本</code>
<code class="example"></code>
<code class="example">        :set t_so=^V^[\|xxm             突出模式开始</code>
<code class="example">        :set t_se=^V^[\|xxm             返回正常文本</code>
<code class="example"></code>
<code class="example">        :set t_us=^V^[\|xxm             下划线模式开始</code>
<code class="example">        :set t_ue=^V^[\|xxm             返回正常文本</code>
<code class="example"></code>
<code class="example">        :set t_ZH=^V^[\|xxm             斜体模式开始</code>
<code class="example">        :set t_ZR=^V^[\|xxm             返回正常文本</code>
<code class="example"></code>
^V 代表 <code class="keystroke">CTRL-V</code>
^[ 代表 <code class="special">&lt;Esc&gt;</code>

(在输入上面的命令时，按下 <code class="keystroke">CTRL-V</code> Vim 只会显示 ^，这时不要输入 V，直接输入
<code class="special">&lt;Esc&gt;</code> 即可。<code class="vim">译者</code>)

你必须把上面命令里的 xx 换成相应的十进制数，这个数是前景色与背景色相加的和:

<code class="section">颜色                    前景色          背景色  </code>
黑色                    0               0
暗蓝色                  1               16
暗绿色                  2               32
灰绿色                  3               48
暗红色                  4               64
暗紫红色                5               80
棕色，暗黄色            6               96
亮灰色                  7               112
暗灰色                  8               128 *
蓝色，天蓝色            9               144 *
绿色，浅绿色            10              160 *
青绿色，兰绿色          11              176 *
红色，亮红色            12              192 *
紫红色，亮紫红色        13              208 *
黄色，浅黄色            14              224 *
白色                    15              240 *

* 在某些显示模式下，大于 128 的颜色代码可能不起作用，并且代码 128 会使字体闪
烁。

代码 0 表示颜色恢复到起始状态 (起始状态的值通常是 7，亮灰色文字，黑色背景，但
你可以修改。如果你在命令行提示上修改了缺省的颜色，你可能需要在 vimrc 文件里调
整一些高亮的颜色--见下面)。
这就是 <a href="term.html#'t_me'">'t_me'</a> 的初始值。

下面是 Vim 默认高亮模式:
        t_mr    112      反转模式: 黑色文字 (0)，亮灰色背景 (112)
        t_md     15      粗体模式: 白色文字 (15)，黑色背景 (0)
        t_me      0      正常模式: 正常模式 (返回默认状态)

        t_so     31      突出模式: 白色文字 (15)，暗蓝色背景 (16)
        t_se      0      突出模式结束 (返回默认状态)

        t_czh   225      斜体模式: 暗蓝色文字 (1)，黄色背景 (224)
        t_czr     0      斜体模式结束 (返回默认状态)

        t_us     67      下划线模式: 灰绿色文字 (3)，暗红色背景 (64)
        t_ue      0      下划线模式结束 (返回默认状态)


之所以选择这些颜色，是因为它们在使用反转显示的时候看起来比较舒服，但是你可以改
成你喜欢的颜色。

例如: 
<code class="example">  :set t_mr=^V^[\|97m   " 启动反转模式: 暗蓝色文字 (1) 棕色背景 (96)</code>
<code class="example">  :set t_md=^V^[\|67m   " 启动粗体模式: 灰绿色文字 (3) 暗红色背景 (64)</code>
<code class="example">  :set t_me=^V^[\|112m  " 返回正常模式: 黑色文字 (0) 亮灰色背景 (112)</code>
<code class="example">  :set t_so=^V^[\|37m   " 启动突出模式: 暗紫红色文字 (5) 暗绿色背景 (32)</code>
<code class="example">  :set t_se=^V^[\|112m  " 返回正常模式: 黑色文字 (0) 亮灰色背景 (112)</code>
<code class="example"></code>
</section><hr class="doubleline" /><section class=inner>
<h4>5. 文件格式                                             <b class="vimtag"> <a name="dos-file-formats">dos-file-formats</a> </b></h4>
如果 <a href="options.html#'fileformat'">'fileformat'</a> 设置为 "dos" (这是默认设置)，Vim 把 <code class="special">&lt;NL&gt;</code> 或 <code class="special">&lt;CR&gt;</code><code class="special">&lt;NL&gt;</code> 当作行
尾符 (<code class="special">&lt;EOL&gt;</code>)。写入文件的时候，Vim 使用 <code class="special">&lt;CR&gt;</code><code class="special">&lt;NL&gt;</code>。这样，如果你编辑一个文件并且
保存了，那么 Vim 会把所有的 <code class="special">&lt;NL&gt;</code> 替换成 <code class="special">&lt;CR&gt;</code><code class="special">&lt;NL&gt;</code>。

如果 <a href="options.html#'fileformat'">'fileformat'</a> 设置为 "unix"，Vim 则使用一个 <code class="special">&lt;NL&gt;</code> 作为 <code class="special">&lt;EOL&gt;</code>，并且把 <code class="special">&lt;CR&gt;</code>
显示为 ^M。

你可以用 Vim 把 <code class="special">&lt;NL&gt;</code> 替换成 <code class="special">&lt;CR&gt;</code><code class="special">&lt;NL&gt;</code>: 在任何模式下读，保存成 Dos 格式
(":set ff=dos")。

你可以用 Vim 把 <code class="special">&lt;CR&gt;</code><code class="special">&lt;NL&gt;</code> 替换成 <code class="special">&lt;NL&gt;</code>: 在 Dos 模式下读，保存成 Unix 格式
(":set ff=unix")。

如果 <a href="options.html#'fileformats'">'fileformats'</a> 非空 (这是默认值)，Vim 会自动设置 <a href="options.html#'fileformat'">'fileformat'</a> 的值，因此你
没有必要担心自己究竟在做什么。
                                         <a href="options.html#'fileformat'">'fileformat'</a>   <a href="options.html#'fileformats'">'fileformats'</a> 

如果你要编辑一个脚本文件或者一个二进制文件，那么你应该在装载这个文件之前预先设
定 <a href="options.html#'binary'">'binary'</a> 选项。脚本和二进制文件可能包含 <code class="special">&lt;NL&gt;</code>，Vim 要把它替换成 <code class="special">&lt;CR&gt;</code><code class="special">&lt;NL&gt;</code>。你
可以在启动时加上 "-b" 参数，这样可以自动置位 <a href="options.html#'binary'">'binary'</a> 选项。

</section><hr class="doubleline" /><section class=inner>
<h4>6. :cd 命令                                             <b class="vimtag"> <a name="dos-:cd">dos-:cd</a> </b></h4>
":cd" 命令能识别驱动器符号，并且可以改变当前的驱动器。命令 ":cd c:" 使驱动器 C
成为当前驱动器。命令 ":cd d:\foo"，切换当前目录到 "D 盘的 foo 目录下"。Vim 也
能识别 UNC 路径。例如: ":cd \\server\share\dir"。 <a href="editing.html#:cd">:cd</a> 

</section><hr class="doubleline" /><section class=inner>
<h4>7. 中止键                                               <b class="vimtag"> <a name="dos-CTRL-Break">dos-CTRL-Break</a> </b></h4>
用 <code class="keystroke">CTRL-Break</code> 来代替 <code class="keystroke">CTRL-C</code> 中止查找操作。Vim 只有在接受输入时才能检测到
<code class="keystroke">CTRL-C</code>。

</section><hr class="doubleline" /><section class=inner>
<h4>8. 临时文件                                             <b class="vimtag"> <a name="dos-temp-files">dos-temp-files</a> </b></h4>
对于 16 位和 32 位的 DOS 版本:
Vim 把临时文件 (用于过滤) 存放于下列目录中 (按顺序查找下列目录，一旦发现该目录
存在并且可以创建文件，就用它存放临时文件):
        $TMP
        $TEMP
        C:\TMP
        C:\TEMP
        当前目录

对于 Win32 版本 (控制台和 GUI):
Vim 用标准的 Windows API 函数来获取临时文件名 (用于过滤)。按顺序查找下列目录，
一旦发现该目录存在并且可以创建文件，就用它存放临时文件:
        $TMP
        $TEMP
        当前目录

</section><hr class="doubleline" /><section class=inner>
<h4>9. 默认的外壳选项                                       <b class="vimtag"> <a name="dos-shell">dos-shell</a> </b></h4>
在 Windows 95 上，默认的 <a href="options.html#'sh'">'sh'</a> ( <a href="options.html#'shell'">'shell'</a> ) 选项是 "command.com"，而在 Windows
NT 上是 "cmd.exe"。如果设置了环境变量 SHELL，Vim 就使用 SHELL 指定的程序，如果
没有设置 SHELL，而设置了环境变量 COMSPEC，Vim 就使用 COMSPEC。Vim 用
"<code class="special">&lt;shell&gt;</code> /c <code class="special">&lt;command_name&gt;</code>" 执行外部命令。输入 <code class="keystroke">CTRL-Z</code> 启动一个命令子外壳。要返
回 Vim 输入 "exit"。     <a href="options.html#'shell'">'shell'</a>   <a href="starting.html#CTRL-Z">CTRL-Z</a> 

如果你运行一个第三方的外壳，你可能需要自己设置一下  <a href="options.html#'shellcmdflag'">'shellcmdflag'</a>  (<a href="options.html#'shcf'">'shcf'</a>)
和  <a href="options.html#'shellquote'">'shellquote'</a>  (<a href="options.html#'shq'">'shq'</a>) 或者  <a href="options.html#'shellxquote'">'shellxquote'</a>  (<a href="options.html#'sxq'">'sxq'</a>) 选项。不幸的是，这些选
项依赖于你所使用的 Vim 的版本。例如，要用 MKS Korn shell 或 bash，这些属性的值
应该设置成:

<code class="section">                DOS 16 位           DOS 32 位           Win32  </code>
<a href="options.html#'shellcmdflag'">'shellcmdflag'</a>     -c                   -c               -c
<a href="options.html#'shellquote'">'shellquote'</a>       "
<a href="options.html#'shellxquote'">'shellxquote'</a>                                            "

16 位的 Dos 版本这样启动外壳:
        <code class="special">&lt;shell&gt;</code> -c "命令" &gt;file
Win32 版本:
        <code class="special">&lt;shell&gt;</code> -c "命令 &gt;file"
32 位 DOS 版本，DJGPP 在内部执行。

启动的时候如果 Vim 不能识别出标准 Windows 外壳，会检查 <a href="options.html#'shell'">'shell'</a> 选项的值是否能
匹配 "sh" 子串 (在任何位置)。如果是，Vim 就按照上面的描述设置 <a href="options.html#'shellcmdflag'">'shellcmdflag'</a>
和 <a href="options.html#'shellquote'">'shellquote'</a> 或 <a href="options.html#'shellxquote'">'shellxquote'</a> 选项。

</section><hr class="doubleline" /><section class=inner>
<h4>10. PowerShell                                  <b class="vimtag"> <a name="dos-powershell">dos-powershell</a> </b> <b class="vimtag"> <a name="dos-pwsh">dos-pwsh</a> </b></h4>
Vim 支持 PowerShell Desktop 和 PowerShell Core。PowerShell Desktop 是随
Windows 安装的 PowerShell 版本，而 PowerShell Core 是跨平台的可单独下载的版
本。要判断使用的是何版本，可在 PowerShell 提示行上输入 -
$PSVersionTable.PSEdition

如果 <a href="options.html#'shell'">'shell'</a> 文件名包含了 "powershell"，VIM 在启动时设置 <a href="options.html#'shellcmdflag'">'shellcmdflag'</a>、
<a href="options.html#'shellxquote'">'shellxquote'</a>、<a href="options.html#'shellpipe'">'shellpipe'</a> 和 <a href="options.html#'shellredir'">'shellredir'</a> 选项为以下值:

<a href="options.html#'shellcmdflag'">'shellcmdflag'</a>  -Command
<a href="options.html#'shellxquote'">'shellxquote'</a>   "
<a href="options.html#'shellpipe'">'shellpipe'</a>     2&gt;&amp;1 | Out-File -Encoding default
<a href="options.html#'shellredir'">'shellredir'</a>    2&gt;&amp;1 | Out-File -Encoding default

如果 <a href="options.html#'shell'">'shell'</a> 文件名包含了 "pwsh"，VIM 在启动时设置 <a href="options.html#'shellcmdflag'">'shellcmdflag'</a>、
<a href="options.html#'shellxquote'">'shellxquote'</a>、<a href="options.html#'shellpipe'">'shellpipe'</a> 和 <a href="options.html#'shellredir'">'shellredir'</a> 选项为以下值:

<a href="options.html#'shellcmdflag'">'shellcmdflag'</a>  -c
<a href="options.html#'shellxquote'">'shellxquote'</a>   "
<a href="options.html#'shellpipe'">'shellpipe'</a>     &gt;%s 2&gt;&amp;1
<a href="options.html#'shellredir'">'shellredir'</a>    &gt;%s 2&gt;&amp;1

如果你觉得 PowerShell 命令花了太长时间，试试在 <a href="options.html#'shellcmdflag'">'shellcmdflag'</a> 开始处加上
"-NoProfile"。<code class="note">注意</code> 这会跳过 profile 里的 PowerShell 环境设置。

如果通过 <a href="options.html#'shell'">'shell'</a> 执行 PowerShell 脚本有问题，试试在 <a href="options.html#'shellcmdflag'">'shellcmdflag'</a> 开始处加上
"-ExecutionPolicy RemoteSigned -Command"。PowerShell 的执行政策设置详见在线
Windows 文档。

 <a href="options.html#option-backslash">option-backslash</a>  说明 <a href="options.html#'shellcmdflag'">'shellcmdflag'</a> 里有多个标志位时如何包含空格。

<a href="options.html#'shellpipe'">'shellpipe'</a> 和 <a href="options.html#'shellredir'">'shellredir'</a> 选项值重新编码 PowerShell Desktop 的 UTF-16LE 输出
为当前配置的控制台代码页。把 "default" 改为下面值之一，则可以强制输出为不同编
码:

        unicode          - UTF-16LE (PowerShell 5.1 的缺省输出)
        bigendianunicode - UTF-16
        utf8             - UTF-8
        utf7             - UTF-7 (无 BOM)
        utf32            - UTF-32
        ascii            - 7-位 ASCII 字符集
        default          - 系统活跃代码页 (通常为 ANSI)
        oem              - 系统当前 OEM 代码页

<code class="note">备注</code> 上述的多字符 Unicode 编码除非特别注明，包含前导的 BOM。

缺省 PowerShell Core 的输出使用不带 BOM 的 UTF-8 编码。如果要强制 PowerShell
Core 输出为其它编码，设置 <a href="options.html#'shellredir'">'shellredir'</a> 和 <a href="options.html#'shellpipe'">'shellpipe'</a> 为
"2&gt;&amp;1 | Out-File -Encoding encoding"，其中 encoding 是以下之一:

        ascii            - 7-位 ASCII 字符集
        bigendianunicode - UTF-16BE
        bigendianutf32   - UTF-32BE
        oem              - 系统当前 OEM 代码页
        unicode          - UTF-16LE
        utf7             - UTF-7
        utf8             - UTF-8
        utf8BOM          - UTF-8 带 BOM
        utf8NoBOM        - UTF-8 不带 BOM (PowerShell Core 的缺省输出)
        utf32            - UTF-32

从 PowerShell Core 6.2 开始，Encoding 参数也支持指定已注册代码页的数值 ID
(-Encoding 1251) 或字符串名 (-Encoding "windows-1251")。详见 .NET 文档的
Encoding.CodePage 部分。

 vim:tw=78:ts=8:noet:ft=help:norl:
</section>
</article>
<footer>
Generated by vim2html
</footer>
</body>
</html>
